/**
 * 
 */
package com.eagle.coders.reporting.beans;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;

import javax.enterprise.inject.Model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.eagle.coders.common.bean.annotations.DomainTitle;
import com.eagle.coders.common.bean.annotations.UiComponentPosition;

/**
 * @author anees
 *
 */
//@Entity
@Model
@Table(name="eagle_reports_param")
@DomainTitle(title = "Reports")
@SequenceGenerator(name = "user_gen_seq", sequenceName ="eagle_gen_seq")
public class ReportsParametersBean implements Serializable {

	private static final long serialVersionUID = 1L;

	private Integer reportParamterId;
	private String parameterName;
	private String charValue;
	private String parameterValue;
	private BigDecimal numericValue;
	private Timestamp dateValue;
	private String hiddenValue;
	
	
	/**
	 * @return the reportParamterId
	 */
	@Id
	@GeneratedValue(generator = "user_gen_seq", strategy = GenerationType.SEQUENCE)
	@Column(name = "reportParamterId")
	public Integer getReportParamterId() {
		return reportParamterId;
	}
	/**
	 * @param reportParamterId the reportParamterId to set
	 */
	public void setReportParamterId(Integer reportParamterId) {
		this.reportParamterId = reportParamterId;
	}
	/**
	 * @return the parameterName
	 */
	@UiComponentPosition(positionColumn = "1", positionRow = "1", tableDisplayColumn = "1")
	@Column(name="parameterName")
	public String getParameterName() {
		return parameterName;
	}
	/**
	 * @param parameterName the parameterName to set
	 */
	public void setParameterName(String parameterName) {
		this.parameterName = parameterName;
	}
	/**
	 * @return the charValue
	 */
	@Column(name="charValue")
	public String getCharValue() {
		return charValue;
	}
	/**
	 * @param charValue the charValue to set
	 */
	public void setCharValue(String charValue) {
		this.charValue = charValue;
	}
	/**
	 * @return the numericValue
	 */
	@Column(name="numValue")
	public BigDecimal getNumericValue() {
		return numericValue;
	}
	/**
	 * @param numericValue the numericValue to set
	 */
	public void setNumericValue(BigDecimal numericValue) {
		this.numericValue = numericValue;
	}
	/**
	 * @return the dateValue
	 */
	@Column(name="dateValue")
	public Timestamp getDateValue() {
		return dateValue;
	}
	/**
	 * @param dateValue the dateValue to set
	 */
	public void setDateValue(Timestamp dateValue) {
		this.dateValue = dateValue;
	}
	/**
	 * @return the hiddenValue
	 */
	@Column(name="hiddenName")
	public String getHiddenValue() {
		return hiddenValue;
	}
	/**
	 * @param hiddenValue the hiddenValue to set
	 */
	public void setHiddenValue(String hiddenValue) {
		this.hiddenValue = hiddenValue;
	}
	
	/**
	 * @return the parameterValue
	 */
	@Transient
	@UiComponentPosition(positionColumn = "1", positionRow = "1", tableDisplayColumn = "2")
	public String getParameterValue() {
		return parameterValue;
	}
	/**
	 * @param parameterValue the parameterValue to set
	 */
	public void setParameterValue(String parameterValue) {
		this.parameterValue = parameterValue;
	}
}
